import request from '@/config/axios'
import type { Dayjs } from 'dayjs';

/** 高技课堂纪律情况登记信息 */
export interface ClassDiscipline {
          recordId: number; // 记录编号，主键
          fillTime?: string | Dayjs; // 填表时间
          className?: string; // 班级（高技班级）
          classSession: number; // 节次
          eveningSession: number; // 晚修节次
          unbaggedPhones?: number; // 未入袋手机（应交未交的）(台)
          absentCount?: number; // 未到人数（含所有未到）(人)
          specialAbsentCount?: number; // 病假+学生会+义工队+走读人数(人)
          isSalute?: boolean; // 上课是否行礼（1:是,0:否）
          isRollCall?: boolean; // 上课是否点名（1:是,0:否）
          isAssignShowHomework?: boolean; // 布置且展示了作业（1:是,0:否）
          eveningHomeworkContent: string; // 晚自习展示作业内容
          remark: string; // 备注
          imageUrl: string; // 图片链接
          processStatus?: string; // 处理进度（枚举：未处理、处理中、已完成）
          filler?: string; // 填表人
          updateBy: string; // 更新人
  }

// 高技课堂纪律情况登记 API
export const ClassDisciplineApi = {
  // 查询高技课堂纪律情况登记分页
  getClassDisciplinePage: async (params: any) => {
    return await request.get({ url: `/ao/class-discipline/page`, params })
  },

  // 查询高技课堂纪律情况登记详情
  getClassDiscipline: async (id: number) => {
    return await request.get({ url: `/ao/class-discipline/get?id=` + id })
  },

  // 新增高技课堂纪律情况登记
  createClassDiscipline: async (data: ClassDiscipline) => {
    return await request.post({ url: `/ao/class-discipline/create`, data })
  },

  // 修改高技课堂纪律情况登记
  updateClassDiscipline: async (data: ClassDiscipline) => {
    return await request.put({ url: `/ao/class-discipline/update`, data })
  },

  // 删除高技课堂纪律情况登记
  deleteClassDiscipline: async (id: number) => {
    return await request.delete({ url: `/ao/class-discipline/delete?id=` + id })
  },

  /** 批量删除高技课堂纪律情况登记 */
  deleteClassDisciplineList: async (ids: number[]) => {
    return await request.delete({ url: `/ao/class-discipline/delete-list?ids=${ids.join(',')}` })
  },

  // 导出课堂纪律登记 Excel
  exportClassDiscipline: async (params) => {
    return await request.download({ url: `/ao/class-discipline/export-excel`, params })
  },

  // 导出课堂纪律统计表 Excel
  exportStatistics: async (params) => {
    return await request.download({ url: `/ao/class-discipline/export-statistics`, params })
  },

  // 下载课堂纪律登记导入模板
  importTemplate: async () => {
    return await request.download({ url: `/ao/class-discipline/get-import-template` })
  },

  // 导入课堂纪律登记
  importClassDiscipline: async (data: any) => {
    return await request.upload({ url: `/ao/class-discipline/import`, data })
  },
}
